#ifndef AGENTS_H
#define AGENTS_H

#include "ai_agent.h"
#include <wx/string.h>
#include <vector>

// 智能对话助手 - 类似 DeepSeek
class SmartChatAgent : public AIAgent {
public:
    virtual wxString ProcessMessage(const wxString& message) override;
    virtual wxString GetName() const override { return wxT("💬 智能对话助手"); }
    virtual wxString GetDescription() const override { return wxT("类似DeepSeek的智能对话助手，支持代码生成、技术解答等"); }
    
private:
    wxString HandleGreeting(const wxString& message);
    wxString GeneratePythonCode(const wxString& requirement);
    wxString GenerateCppCode(const wxString& requirement);
    wxString GenerateHTMLCode(const wxString& requirement);
    wxString GenerateJavaScriptCode(const wxString& requirement);
    wxString GenerateExplanation(const wxString& topic);
    wxString GenerateCreativeResponse(const wxString& message);
};

// 代码生成器智能体
class CodeGeneratorAgent : public AIAgent {
public:
    virtual wxString ProcessMessage(const wxString& message) override;
    virtual wxString GetName() const override { return wxT("🔧 代码生成器"); }
    virtual wxString GetDescription() const override { return wxT("专业代码生成器，支持多种编程语言"); }
};

// 代码分析智能体
class CodeAnalysisAgent : public AIAgent {
public:
    virtual wxString ProcessMessage(const wxString& message) override;
    virtual wxString GetName() const override { return wxT("🔍 代码分析器"); }
    virtual wxString GetDescription() const override { return wxT("代码分析和项目结构解析工具"); }
    
    wxString AnalyzeCBPFile(const wxString& filepath);
};

#endif // AGENTS_H
